package com.atguigu.gmall.cart.service;

import com.atguigu.gmall.model.cart.CartInfo;

import java.util.List;
import java.util.Map;

/**
 * 购物车相关接口类
 */
public interface CartInfoService {
    /**
     * 购物车新增
     * @param skuId
     * @param num
     */
    public void addCart(Long skuId,Integer num);

    /**
     * 查询用户购物车中的数据
     * @return
     */
    public List<CartInfo> getCartInfo();

    /**
     * 选中状态修改
     * @param id
     * @param status
     */
    public void checkUpdate(Long id,Short status);

    /**
     * 删除购物车中的数据
     * @param id
     */
    public void removeCart(Long id);

    /**
     * 修改购物车中商品数量
     * @param num
     * @param id
     */
    public void updateCartNum(Long id ,Integer num );

    /**
     * 用户·登录后合并购物车
     * @param cartInfoList
     */
    void mergeCart(List<CartInfo> cartInfoList);

    /**
     * 查询用户当前订单中的购物车数据
     * @return
     */
    Map<String, Object> getOrderConfirmCart();

    /**
     * 根据用户名删出购物车中数据
     */
    void clearCart();
}
